package com.kuang.test;

import com.alibaba.fastjson.JSONObject;
import com.kuang.mapper.OrdersMapper;
import com.kuang.mapper.UserMapper;
import com.kuang.pojo.Orders;
import com.kuang.pojo.User;
import com.kuang.pojo.User2;
import com.kuang.util.ObjectUtils;
import com.kuang.utils.MybatisUtils;
import org.apache.http.ParseException;
import org.apache.http.client.utils.DateUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/** @ClassName: test6 @Description: TODO @Author NeySun @CreateTime 2022-05-27 9:53 @Version 1.0 */
public class test6 {
  public void method1() {
    User user = new User();
    boolean aNull = ObjectUtils.isEmpty(user);
      ObjectUtils.isEmpty(null);
      boolean fftttf = true;
    System.out.println(fftttf);
  }
  @Test
  public void test999() {
      SqlSession session = MybatisUtils.getSession();
      UserMapper mapper = session.getMapper(UserMapper.class);
      User user = new User();
      user.setUsername("辅导费");
      user.setAge(12);
      user.setAddress("ggg");
      user.setUserCount(12);
      int insert = mapper.insert(user);
      System.out.println(insert);
      User byId = mapper.findById(6);
      session.commit();
      System.out.println(byId);
  }

    @Test
    public void test88() {
        // String aa = "abc";

        // System.out.println(aa==bb);
        String abc= "abc";
       /* String bc= new String("abc");*/
        String bb = "abc";
        System.out.println(abc.equals(bb));

    }
  @Test
  public void dateTest(){
      LocalDateTime now = LocalDateTime.now();
      int year = now.getYear();
      int monthValue = now.getMonthValue();
      int dayOfMonth = now.getDayOfMonth();
      int hour = now.getHour();
      int minute = now.getMinute();
      int second = now.getSecond();

      LocalDateTime localDateTime = now.withYear(2009);
      System.out.println(localDateTime);
      //修改with
      LocalDateTime localDateTime1 = now.withMinute(13);
      LocalDateTime localDateTime2 = now.withMonth(12);
      LocalDateTime localDateTime3 = now.withDayOfMonth(10);
      //指定日期
      LocalDateTime of = LocalDateTime.of(2099, 12, 10, 12, 12, 59);
      System.out.println(of+"自定义");
      //减少
      LocalDateTime localDateTime5 = now.minusDays(10);
      System.out.println("减少"+localDateTime5);
      //增加
      LocalDateTime localDateTime4 = now.plusDays(10);
      System.out.println(localDateTime4+"zengjia");
      //判断时间是否相等
      System.out.println("判断时间是否相等"+localDateTime5.equals(localDateTime4));
      //判断时间是否在什么之前
      System.out.println("判断时间是否在什么之前"+localDateTime5.isBefore(localDateTime4));
      //判断时间是否在什么之后
      System.out.println("判断时间是否在什么之后"+localDateTime5.isAfter(localDateTime4));
      System.out.println(localDateTime1+"fen");
      System.out.println(localDateTime2+"yue");
      System.out.println(localDateTime3+"DayOfMonth");
      System.out.println(hour);
      System.out.println(minute);
      System.out.println(second);
      System.out.println(now);
      System.out.println(year);
      System.out.println(monthValue);
      System.out.println(dayOfMonth);
  }

  @Test
  public void me() {
    String str = "brand_changan-9";
    // 获得第一个点的位置
    int index = str.indexOf("-");
    System.out.println("获得第一个点的位置:" + index);
    // 根据第一个点的位置 获得第二个点的位置
    index = str.indexOf("-", index + 1);
    System.out.println("根据第一个点的位置 获得第二个点的位置:" + index);
    // 根据第二个点的位置，截取 字符串。得到结果 result
    String result = str.substring(index + 1);
    // 输出结果
    System.out.println("输出结果:" + result);
    boolean numeric = isNumeric(result);
    System.out.println(numeric);
    if (numeric) {
      System.out.println("数字+++");
    }
  }

  /**
   * 判断是否是数字
   *
   * @param str
   * @return
   */
  public static boolean isNumeric(String str) {
    Boolean isNumber = str.matches("-?[0-9]+.?[0-9]*");
    return isNumber;
  }
  // /**
  //  * 判断是否是excel文件
  //  *
  //  * @param args
  //  */
  // public static void main1(String[] args) {
  //   /**
  //    * 获取文件头
  //    *
  //    * @param file 文件
  //    * @return value of fileHeader(Hex)
  //    */
  //   String s = "XLS";
  //
  //   if (!s.equalsIgnoreCase("XLS") && !s.equalsIgnoreCase("XLSX")) {
  //     System.out.println("bushi");
  //   }
  // }


  public static boolean isNum(String str){

        Pattern pattern = Pattern.compile("[0-9]*\\.?[0-9]+");
        Matcher isNum = pattern.matcher(str);
      return isNum.matches();


  }

    private static final String[] parsePatterns = {"yyyy-MM-dd","yyyy年MM月dd日",
        "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy/MM/dd",
        "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyyMMdd"};

public static Date parseDate(String string) {
    if (string == null) {
        return null;
    }
    try {
        return DateUtils.parseDate(string, parsePatterns);
    } catch (ParseException e) {
        return null;
    }
}



 /**
     * 判断一个字符串是否是日期
     *
     * @param sDate
     * @return true-是日期  false-不是
     */
    public static boolean isValidDate(String sDate) {
        String datePattern1 = "\\d{4}-\\d{2}-\\d{2}";
        String datePattern2 = "^((\\d{2}(([02468][048])|([13579][26]))"
                + "[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|"
                + "(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?"
                + "((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?("
                + "(((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?"
                + "((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
        if ((sDate != null)) {
            Pattern pattern = Pattern.compile(datePattern1);
            Matcher match = pattern.matcher(sDate);
            if (match.matches()) {
                pattern = Pattern.compile(datePattern2);
                match = pattern.matcher(sDate);
                return match.matches();
            } else {
                return false;
            }
        }
        return false;
    }

//获取车型
  public static String getCarModel(String str) {
    String s1 = substringSecondAfter(str);
    return s1;
}
//获取车系
public static String getCarSeries(String str) {
    String s = substringFirstAfter(str);
    String s2 = substringBefore(s);
   return s2;
}


 /**
     * 数字验证
     *
     * @param string 需要验证的字符串
     * @param type   验证数字需求
     * @return
     */
    public static boolean isPositiveNumber(String string, String type) {
        if (string == null) {
            return false;
        }
        Pattern pattern;
        switch (type) {
            case "*":
                pattern = Pattern.compile("^[0-9]*$");
                break;
            case "+0":
                pattern = Pattern.compile("^\\d+$");//非负整数（正整数   +   0）
                break;
            case "+":
                pattern = Pattern.compile("^[0-9]*[1-9][0-9]*$");//正整数
                break;
            case "-0":
                pattern = Pattern.compile("^((-\\d+)|(0+))$");//非正整数（负整数   +   0）
                break;
            case "-":
                pattern = Pattern.compile("^-[0-9]*[1-9][0-9]*$");//负整数
                break;
            case "0":
                pattern = Pattern.compile("^-?\\d+$");//整数
                break;
            case "+0.0":
                pattern = Pattern.compile("^\\d+(\\.\\d+)?$");//非负浮点数（正浮点数   +   0）
                break;
            case "+0.1":
                pattern = Pattern.compile("^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$");//正浮点数
                break;
            case "-0.0":
                pattern = Pattern.compile("^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$");//非正浮点数（负浮点数   +   0）
                break;
            case "-0.1":
                pattern = Pattern.compile("^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$");//负浮点数
                break;
            case "0.0":
                pattern = Pattern.compile("^(-?\\d+)(\\.\\d+)?$");//浮点数
                break;
            default:
                return false;
        }
        return pattern.matcher(string).matches();
    }





  //java截取某个字符之后的字符串
	public static String substringFirstAfter(String str) {
		//截取-之后字符串
		String str1 = str.substring(0, str.indexOf("-"));
		String str2 = str.substring(str1.length() + 1);
		return str2;
	}

	//截取正数第二个"-"后面的内容
	public static String substringSecondAfter(String str) {
		//获得第一个点的位置
		int index = str.indexOf("-");
		// System.out.println("获得第一个点的位置:"+index);
		//根据第一个点的位置 获得第二个点的位置
		index = str.indexOf("-", index + 1);
		// System.out.println("根据第一个点的位置 获得第二个点的位置:"+index);
		//根据第二个点的位置，截取 字符串。得到结果 result
		String result = str.substring(index + 1);
		//输出结果
		// System.out.println("输出结果:"+result);
		return result;
	}



//java截取某个字符之前的字符串
public static String substringBefore(String str){

    //截取_之前字符串
    String str1 = str.substring(0, str.indexOf("-"));
  return str1;

}



}
